#  $Id: exception.py aa130fbc3a83 2012/12/28 04:41:10 pgurumur $
#  Copyright (c) 2009 Prabhu Gurumurthy  <pgurumur@gmail.com>
#  
#  Permission to use, copy, modify, and distribute this software for any
#  purpose with or without fee is hereby granted, provided that the above
#  copyright notice and this permission notice appear in all copies.
# 
#  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
#  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
#  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
#  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
#  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
#  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#

__version__  = "$Revision: aa130fbc3a83 $"
__author__   = "$Author: pgurumur $"
__modified__ = "$Date: 2012-12-28 04:41:10Z $"

class BaseException(Exception):
   def __init__(self, *args, **kwargs):
      super(BaseException, self).__init__(*args, **kwargs)
      self._value = None

   def __str__(self):
      return self.args[0]

   def __unicode__(self):
      return unicode(str(self))

   def __repr__(self):
      return repr(str(self))

   def getvalue(self):
      return self._value

   def setvalue(self, value):
      self._value = value

   def delvalue(self):
      self._value = None

   value = property(getvalue, setvalue, delvalue,
         "Set extra attributes to exception")

class IPError(BaseException):
   pass

class GetOptError(BaseException):
   pass

class SQLError(BaseException):
   pass

class SNMPError(BaseException):
   pass

class RFCError(BaseException):
   pass

class DBError(BaseException):
   pass

class LogError(BaseException):
   pass

class SVNErrorNotWC(BaseException):
   pass

class SVNErrorAuthFailed(BaseException):
   pass

class SVNErrorNotInRepo(BaseException):
   pass

class SVNErrorMethodNotAllowed(BaseException):
   pass

class SVNAllreadyControlled(BaseException):
   pass

class SCMError(BaseException):
   pass

class CryptoError(BaseException):
   pass

class LexerError(BaseException):
   pass
